Part Number Hot Search : 
D15XB80 MCP6V06T BU608 70246 160CA 1608X7R HSU88 2N2219A
Product Description
Full Text Search
 

To Download VT86C926 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  VT86C926 a mazon pci e thernet c ontroller data sheet (preliminary) date : june 27, 1995 via technologies, inc.
p reliminary r elease please contact via technologies for the latest documentation. copyright notice: copyright ? 1995, via technologies incorporated. printed in taiwan. a ll r ights r eserved . no part of this document may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual or otherwise without the prior written permission of via technologies incorporated. the VT86C926 may only be used to identify products of via technologies. all trademarks are the properties of their respective owners. disclaimer notice: no license is granted, implied or otherwise, under any patent or patent rights of via technologies. via technologies makes no warranties, implied or otherwise, in regard to this document and to the products described in this document. the information provided by this document is believed to be accurate and reliable to the publication date of this document. however, via technologies assumes no responsibility for any errors in this document. furthermore, via technologies assumes no responsibility for the use or misuse of the information in this document and for any patent infringements that may arise from the use of this document. the information and product specifications within this document are subject to change at any time, without notice and without obligation to notify any person of such change. offices: 5020 brandin court 8th floor, no. 533 fremont, ca 94538 chung-cheng rd., hsin-tien usa taipei, taiwan roc tel: (510) 683-3300 tel: (886-2) 218-5452 fax: (510) 683-3301 fax: (886-2) 218-5453
via t echnologies , i nc .p reliminary VT86C926 3 VT86C926 a mazon pci e thernet c ontroller f eatures * single chip ethernet controller for pci bus interface * software compatible to ne2000+, ne2000 * support 35ns access time sram * integrated 10baset tp interface -- built-in pre-equalization circuitry for transmitter -- smart squelch circuit with programmable threshold for receiver -- selective link integrity test and link disable -- selective polarity detection and correction -- automatic selection between tp and aui interfaces * full ieee 802.3 aui interface -- meet 10base5 and 10base2 standards -- thin-net or thick-net enable signal * jumper or jumperless configuration -- jumperl2ess configuration with eeprom -- jumper configuration with eeprom storing ethernet address * direct drive to 4 status led indicators: transmit, receive, collision, and thin select -- transmit led for packet transmitting status and power indicator -- receive led for packet receiving status and link status -- collision led for collision status -- thin select led for thin 10base-2 port select * isa ne2000 compatible mode, register compatible to national semiconductor dp83905 & dp83906 * optional full duplex operation with speed up to 20mbps * early receive interrupt allows parallel processing of data during receiving * early transmit correction ability allows parallel processing of data during transmission * support 16k, 32k bootrom size * support pci 32-bit data path transfaer with enhance 32-bit driver * software controllable power down feature * single +5v supply, 0.8um standard cmos technology * 100 pin pqfp package buffer ram boot rom config. eeprom m-bus arbitrator data bus fifo for remote dma remote dma registers state machine & local dma registers & state machine & buffer mgmt. pci cfg configuration registers & eeprom control shadow ethernet address prom page 1 registers & tally counters mac receiver protocol state machine & registers protocol state machine & registers mac xmitter pll & endec tp mau interface aui led & testing ma0-14 md0-7 _msrd, _mswr, eecs rd+,rd- td+,td- rx+,rx- tx+,tx- ci+,ci- thin ma0 - ma14 md0 - md7 rcv. data xmt data internal bus _rxled, _txled, _coled pci bus ad[31:0] pciclk pcirst# inta# cbe#[3:0] idsel frame# irdy# trdy# devsel# stop# par interface unit figure 1: block diagram
via t echnologies , i nc .p reliminary VT86C926 4 p in d iagram
via t echnologies , i nc .p reliminary VT86C926 5 p in d escriptions no. name type description pci bus interface 98-100, 1- 5, 8-13, 16-17, 26-33, 35-40, 43,44 ad31-0 i/o address/data are multiplexed on the same pci pins. a bus transaction consists of an address phase followed by one or more data phases. the address phase is the clock cycle in which frame# is asserted. write data is stable and valid when irdyb is asserted and read data is stable and valid when trdyb is asserted. 95 pciclk i pciclk provides timing for all transactions on pci and is an input pin to every pci device. 96 inta# od inta# is an asynchronous signal which is used to request an interrupt 97 pcirst# i when pcirst# is asserted low, the VT86C926 chip performs an internal system hardware reset. pcirst# may be asynchronous to clk when asserted or deasserted. it is recommended that the deassertion be synchronous to guarantee clean and bounce free edge. 6, 18, 25, 34 cbe#[3:0] i bus command/byte enables are multiplexed on the same pci pins. during the address phase of a transaction, cbe3-0b define the bus command. buring the data phase, cbe3-0b are used as byte enables. the byte enables define which physical byte lanes carry meaningful data. cbe0b applies to byte 0 and cbe3b applies to byte 3. 7 idsel i used as a chip select during pci configuration cycle. 19 frame# i cycle frame is driven by the current master to indicate the beginning and duration of an access. frame# is asserted to indicate a bus transaction is beginning. while frame# is asserted, data transfers continue. when frame# is deasserted, the transaction is in the final data phase. 20 irdy# i initiator ready indicates the initiating agent's ability to complete the current data phase of the transaction. irdy# is used in conjunction with trdy#. a data phase is completed on any clock when both irdy# and trdy# are asserted. during a write, irdy# indicates that valid data is present on ad31-0. during a read, it indicates the master is prepared to accept data. wait cycles are inserted until both irdy# and trdy# are asserted simultaneously. 21 trdy i/o target ready indicates the target's agent's ability to complete the current data phase of the transaction. trdy# is used in conjunction with irdy#. a data phase is completed on any clock when both irdy# and trdy# are asserted. during a read, trdy# indicates that valid data is present on ad31-0. during a write, it indicates the target is prepared to accept data. wait cycles are inserted until both irdy# and trdy# are asserted simultaneously. 22 devsel# i/o device select, when actively driven, indicates the driving device has decoded its address as the target of the current access. as an input, devsel# indicates whether any device on the bus has been selected. 23 stop# i/o VT86C926 drives stop# to disconnect further traction. 24 par t/s parity is even parity across ad31-0 and cbe3-0b. paris stable and valid one clock after the address phase. for data phaases par is stable and valid one clock after either irdy# is asserted on a write transaction or trdy# is asserted on a read transaction.
via t echnologies , i nc .p reliminary VT86C926 6 network interface 85,86 tx+ tx- o aui transmit output: differential current mode driver which sends the manchester-encoded data to the aui do circuitry through transformer coupler. use a local terminator resistor 75 ohm. 83,84 rx+ rx- i aui receive input: differential receive input pair form the transceiver through a decoupled transformer. 81,82 cd+ cd- i aui collision input: differential collision (sqe) signal input from transceiver. the sqe signal is 10mhz +/- 15% square wave. 91,92 td+ td- o twister pair transmit outputs: different current mode driver which sends pre-equalized tp data signal to tp network medium through a filter and transformer. use a local terminator resistor 100 ohm. 89,90 rd+ rd- i twisted pair receive inputs: this differential input pair from tp medium through a decoupled transformer passes manchester-encoded data to the endec module. 80 thin o thin-net selection: this output is used to control the power dc-dc converter of 10base2 mau module. it is asserted when phys1 and phys0 in configuration register b selects 10base2 mode. 69 x1 i crystal or external oscillator input. 68 x2 o cystal feedback output. used in crystal connections only. should be left completely unconnected when using oscillator module. 78 txled# o transmit/power led: an open drain active low output. normally on. it indicates a transmission onto the tp is in progress. it turns off for 90ms if a packet is transmitted. a minimum on time 18ms is maintained between blinking of transmitting packets. 79 rxled# o receive/link led: an open drain active low output. normally on. it indicates a reception from the tp is in progress. it turns off 90ms if a packet is received. if the link test is enabled it will turn off as long as the link fails. after the link is up, it will turn on for at least 786ms and then become a normal receiver indicator. 77 coled# o collision/jabber led: an open drain active low output. normally off. it turns on for minimum 25ms whenever VT86C926 detects a collision. it is retriggerable. during jabber state it stays on. 76 tstpin i/o n.c.
via t echnologies , i nc .p reliminary VT86C926 7 external memory support 75-72, 67-58, 55 ma0-ma13, ma14 o memory support address bus: when reset is inactive these pins drive the memory support address bus. these 15 address lines cover up to 16k bytes memory space. when reset is active these pins are used for jumper setting. there are 100k pull-down device on pins. 52-45 md0-md7 i/o memory support data bus: when reset is inactive these pins can be used to access external memory. when reset is active pin md3 to md7 are used for jumper setting. there are 100k pull-down device on pins. md0 to md2 are used for eeprom programming interface. 57 msrd# o memory support bus read: strobes data from external ram into VT86C926 controller via the memory support data bus. (note 1) note 1: the chip select of external buffer ram is always enabled. 56 mswr# o memory support bus write: strobes data from VT86C926 controller into the external ram via the memory support data bus. a 100k pull- down device is connected. 54 bpcs# o boot prom chip select: select the boot rom on the memory support data bus. the rom address bus is connected to sa bus directly. 53 eecs o eeprom chip select: chip select signal for the external eeprom when a eeprom is used to provide the configuration data and ethernet address. a 100k pull-up resistor is connected. power supply & ground 14, 42, 93, 71 vdd, vddif, vdd p positive 5v supply: supply power to internal digital logic, digital i/o pads, and td, tx pads. double bonding may be required. 15, 41, 94, 70 vss, vssif, vss g negative supply: digital ground. multiple bonding pads are required to separate core and i/o pads ground. 88 vdda p analog 5v supply: supply power to analog circuit and rx, ci, rd pads. seperate power plane may be required. 87 vssa g negative supply: analog ground. sepearte ground plane may be required.
via t echnologies , i nc .p reliminary VT86C926 8 f unctional d escriptions 1. g eneral d esciption the VT86C926 pci ethernet controller is cmos vlsi designed for easy implementation of csma/cd local area networks. significant features include: twisted-pair interface, pci plug&play compatability and early interrupt receive/transmit. the VT86C926 integrates the entire bus interface of pci systems. setting hardware jumpers or software configures the VT86C926 bus interface. the VT86C926 also complies with pci specification v2.0. and is software compatible to either the ne2000. the VT86C926 supports the 10base5 or 10bae2 network interfaces via an external transciever connected to its aui port. the vt82c926's integrated 10base-t transciever supports 10base-t and fully complies with ieee 802.3i specifications. 2. tp (t wisted p air ) i nterface the five main functions of the tp interface are: smart squelch, collision detection, link detector/generator, jabber and transmit driver. 2.1. smart squelch the basic function of smart squelch is to distinguish between impulse noise and valid signals on the rxi differential inputs. to determine the validity of data, the squelch function applies specific timing and amplitute criteria to the incoming signals. also, there are two squelch modes, selectable by the sqsel pin. the two selectable squelch modes are: 1) 10base-t compatible and 2) reduced squelch mode. 2.2. collsion the tp interface will detect a collision when the transmit and receive channels are active at the same time. if the tpi module is receiving when a collision is detected it is reported to the controller immediately . approximately 1 us after the transmission of each packet, a signal called the signal quality error (sqe) is generated. the sqe consists typically of 10 cycles of 10 mhz and is also refered as the "heartbeat." 2.3. link detector/generator the link generator is a timer circuit that generates a link pulse as defined by the 10 base-t specification. the link pulse will be generated by transmitter. the pulse is used to check the integrity of the connection to the remote mau. the link detection circuit checks for valid pulses from the remote mau; if it receives no valid pulse, then the transmitter will be disabled. 2.4. jabber the jabber timer monitors the transmitter and disables the transmission if the transmitter is active for longer than 26 ms.
via t echnologies , i nc .p reliminary VT86C926 9 6. eeprom i nterface and p rogramming VT86C926 uses an 93c46 to store configuration data and ethernet address. 6 .1. eeprom contents d15 d0 3fh . . . reserved for 93c46 . . . reserved for 93c46 . . . . . . 10h . . . . . . . . 0fh 73h conf. c 0eh conf. b conf. a . reserved . . reserved . 08h 57h 42h 07h subvid1 subvid0 . reserved . . reserved . 03h checksum board id 02h ethernet address 5 ethernet address 4 01h ethernet address 3 ethernet address 2 00h ethernet address 1 ethernet address 0 note 1. the word on location 03h is optional to user's application requirement. note 2. programming 73h into the upper address is required to protect the ethernet address from being destroyed accidentally. 6.2. emulated prom map for ne2000 16-bit mode (wts=1) d15 d0 1eh 00 57h (dwid=1) or 42h (dwid=0) 1ch 00 57h (dwid=1) or 42h (dwid=0) . 00 . . reserved . 0eh 00 checksum 0ch 00 board id 0ah 00 ethernet address 5 08h 00 ethernet address 4 06h 00 ethernet address 3 04h 00 ethernet address 2 02h 00 ethernet address 1 00h 00 ethernet address 0 note 1. the address shown above on the left side is the remote dma address. note 2. the jumper dwid will determine the contents of the upper bytes. the software uses the upper bytes to distinguish the data width of the system bus interface to be used. note 3. during the initialization of the software driver, the program should set wts to 1 and try 8-bit i/o instruction to get the prom contents (since data width is unknown). then the program should set the wts bit of dcr to the value revealed on
via t echnologies , i nc .p reliminary VT86C926 10 jumper dwid. remember that as long as wts is set to 1, the VT86C926 sends one word at one time with _iocs16 asserted -- regardless of the data width of i/o instruction used. note 4. regardless of the data width of i/o instruction used, the VT86C926 sends one byte at one time with _iocs16 deasserted and wts set to 0. this map is only for reference. users should never need to access the prom contents in this way. 6.3. memory map of VT86C926 ne2000 16-bit mode (wts=1) d15 d0 0000h 00h prom 001fh 0020h aliased prom 3fffh 4000h 16k x 8 buffer ram 7fffh 8000h aliased 0000h - 7fffh ffffh ne2000 8-bit mode (wts=0) d7 d0 0000h interleaved prom 001fh 0020h aliased prom 3fffh 4000h 8k x 8 buffer ram 5fffh 6000h aliased buffer ram 7fffh 8000h aliased 0000h-7fffh ffffh
via t echnologies , i nc .p reliminary VT86C926 11 6.4. pci configuration space device id ( 0926 ) vendor id ( 1106 ) 00 h status (devs1, devs0 ) = ( 1 , 0 ) command ( mmspace, iosoace) 04 h class code ( 02_00_00 ) revision id ( 00 ) 08 h bist ( 00 ) header type ( 00 ) latency timer ( 00 ) cache line ( 00 ) 0c h io space 0 0001 10 h reserved reserved sub vendor id fr eeprom contents 2c h exp rom base [ 31: 15 ] rom14 0000_0000_00000 en 30 h reserved reserved max_lat ( 00 ) min_gnt ( 00 ) int pin ( 01 ) intline intl [7:0] 3c h 6.5. direct programming of eeprom the VT86C926 features a easy way to program external eeprom in-situ. when the reset is active and if the upper byte of 0fh on eeprom is not 73h, the eepr bit will not be set to indicate that the current eeprom has not been programmed yet. this will allow the VT86C926 to enter direct programming mode if eeload is also set. in this mode the user can directly control the eeprom interface signals by writing to the ecsr port and the value on the eecs, esk and edi bits will be driven onto the eecs, sk(md2), and di(md1) outputs respectively. these outputs will be latched so the user can generate a clock on sk by repetitively writing 1 then 0 to the appropriate bit. this can be used to generate the eeprom signals as per the 93c46 data sheet. to read the eeprom data, users have to generate eeprom interface signals into eecs, di and sk as described above and in the mean time read the data from do(md0) input via pin sd0. reading data transfer port during programming will not affect the latched data on eecs, sk, and di outputs. when the eeprom has been programmed and verified (remember to program the upper byte of 0eh with 73h), the user must give VT86C926 a power-on reset to return to normal operation and to read in the new data. the direct programming mode is mainly used for production to program every bit of the eeprom. once the upper byte of 0eh has been programmed with 073h and a power-on reset has been performed, there is
via t echnologies , i nc .p reliminary VT86C926 12 no way to change the contents of eeprom except configuration registers a, b, and c, which will be discussed in the following paragraph. for more information, refer to eecsr. 6.6. embedded programming of eeprom if the upper byte of 0fh of eeprom has been programmed to 073h when VT86C926 is loading the eeprom data during power-on reset, the eepr bit of signature register will be set to prohibit the direct programming mode. however, the user can still program the configuration registers a, b, and c using the embedded programming mode by following the routine specified in the pseudo code below. this operation will work regardless of the value of eeconfig. the setting of the eeload bit of configuration register b starts the eeprom write process. care should be taken not to accidentally modify the pol and gdlnk bits because these two bits return the value indifferent from the setting. this programming process is ended when the eeload bit goes to zero. eeprom_emb_prog ( ) { // defined constant: config_b, gdlnk, pol, eeload // declared register: value, config_for_a, config_for_b, config_for_c // declared function: disable_interrupts, enable_interrupts, read, write, wait disable_interrupts ( ); value = read ( config_b ); value = value & ! gdlnk & ! pol ; value = value | eeload ; write ( config_b , value); read ( config_b ); write ( config_b , config_for_a); write ( config_b , config_for_b); write ( config_b , config_for_c); while (value || eeload ) { value = read ( config_b ); wait ( ); } enable_interrupts ( ); }
via t echnologies , i nc .p reliminary VT86C926 13 7. c ontrol and s tatus r egisters * VT86C926 supports the control and status registers of dp8390 except those explained as follows. * VT86C926 supports all page 1 registers. only part of page 2 is supported. * VT86C926 supports early transmit underrun (etun) * VT86C926 supports most of page 0 registers. * the meaning and use of 01h (clad0) and 02h (clad1) of page 0 is altered. * the 06h (fifo port) of page 0 is not supported. * the following control/status bits in page 0 are not supported: -- (d3,d4,d5) == (0,1,1) of cr (00h) : send packet command (rd0 - rd2) -- d1 of dcr: byte order select (bos) -- d2 of dcr: long address select (las) -- d4 of dcr: auto-initialize remote (arm) -- d5, d6 of dcr: fifo threshold select (ft0 and ft1) -- d4 of tcr: collision offset enable (ofst) -- d5 of tsr: fifo underrun (fu) -- d7 of tsr: out of window collision (owc) -- d3 of rsr: fifo overrun (fo) 8. p ower d own m ode the VT86C926 provides an one level power down mode. the bios or network os device driver can configure register a to diagnostic mode then set the power-on bit of the diagnostic port to "on." when the VT86C926 is in power down mode, all power to the analog port is cut off and the chip clock is stopped. other registers are read only. only the diagnostic port is read-writeable.
via t echnologies , i nc .p reliminary VT86C926 14 9. j umpered operation support 9.1 fully jumpered operation figure 8 below depicts this operation. in this configuration, most options are selected by jumpers on the VT86C926 controller memory bus figure 3: example of jumper configuration +5v VT86C926 md0 md2 md3 md6 md4 md7 md10 mswr# ? ? ? ? ? ? isa i/o base int 0~f md0 md1 ? ? media select boot rom select software enable configure from eeprom ma3 isa mode
via t echnologies , i nc .p reliminary VT86C926 15 10. p acket t ransmission d escription the VT86C926 nic is csma/cd compliant and offers scheduled retransmission of packets up to 15 times on collisions according to the truncated binary exponential backoff algorithm. the following is an overview of the transmission process. 10.1.transmission setup in order for the transmit packet to be ready for transmission, it must follow the ieee 820.3 specification (see figure 4). when the transmit packet is set up in the memory, the VT86C926 will initialize the packet starting address (tpsr) and the packet length (tpcr0, tbcr1). then the ptx bit (transmit packet) of the command register will be set to start transmission. destination address source address type length pad (if data < 46 bytes) tx byte count (tbct0.1) data 6 bytes 6 bytes 2 bytes 46 bytes figure 4. transmit packet format 10.2.transmission process after the ptx bit is set to start transmission, the txe (transmit enable) signal is asserted and transmission begins (see figure 5). the crc is calculated after the 62 bit preamble (alternating ones and zeros) and the start of the frame delimiter (two ones) are sent out as nrz data (pin txd) with a clock (txc). this process does not end until the byte count reaches zero. after all bytes are serialized, the 4 crc bytes are then serialized and added to the packet. in case of collisions, transmissions would cease and jam sequence of 32 ones would be transmitted to notify every node of the collision. once the jam sequence is transmitted, the packet would be rescheduled for transmission according to the truncated binary exponential backoff algorithm. destination address source address type length data transmit buffer pstart byte count serializer crc txe txc txd dma pla protocol pla crs col figure 5. packet transmission
via t echnologies , i nc .p reliminary VT86C926 16 10.3.transmission status an interrupt is generated at the end of transmission: either the ptx bit (complete packet transmitted) or the txe bit (packet transmission aborted) of the isr (interrupt status register) is set. this interrupt routine discerns the specific details of the transmission by reading the tsr. if the ptx bit is set, reading the tsr can reveal the following: if a carrier was present when the transmission was initiated (dfr), if the carrier was lost during the transmission (crs -- this would point to a short somewhere on the network), if the collision detect circuitry is working properly (cdh) and if a collision occured (col). the collision count register (ncr) is incremented each time a collision occurs. the out of window collision (owc) bit of the tsr is set whenever a collision occurs outside the 512k window (slot time). if 16 collisions occur, then the txe but if the isr is set. if 16 collisions abort a transmission, then the abt bit of the tsr is set. 11. p acket r eception the VT86C926 uses a receive filter scheme to manage packet reception. because every node receives all packet transmissions in csma/cd compliant networks, this receive filter is needed to filter out all packets without matching addresses. 11.1.reception process the VT86C926 will begin to check for the two consecutive ones than indicates the start of the frame delimiter (sfd) once VT86C926 dectects the active cts signal and the one-zero preamble. after the detection of the sfd, the incoming data is deserialized and sent to the address filter (see figure 6). if the packet passes the address filter, then the packet is sent to the receive buffer ring through the dma. an interrupt is generated when the packet is received into the buffer ring. to determine the acceptance and rejection of packets, the calculated value of the crc, at the point in which the crs signal is low, is compared with the last four bytes received. if a match occurs on the last byte boundary, then the packet is accepted. if the crcs do not match at the last byte boundary and the crc goes low, the packet is rejected and an crc error is indicated (crc bit of rsr set); that is to say the recieve buffer ring is not updated. if the crcs do not match at the last byte boundary and the crc does not go low, then a frame alignment error occurs and is flagged (fae bit of rsr set). however, frame alignment errors occur only when crc errors occur. deserializer crc rxd crs rxc dma pla protocol pla crs col figure 6. packet reception address filter receive buffer ring
via t echnologies , i nc .p reliminary VT86C926 17 11.2.receive buffer ring incoming packets are placed by the nic into the receive buffer ring to await processing. as each packet is processed, it is then removed from the ring. the nic allocates an area of memory to use as the buffer ring during initialization. because ring pointers are located on the chip, the buffer management scheme works at a high efficiency. the dma channels can transfer data at 10 mbyte per second. the second dma or the remote dma channel removes packets from the rings after the packets have been processed. though the receive buffer ring allows packets to be processed in the order of arrival, it is not a fifo buffer. it is just a portion of memory that works effectively as a fifo buffer the four on-chip pointers that control the ring are the page start (pstart) pointer, page stop (pstop) pointer, current page (curr) pointer and boundary (bnry) pointer. the pstart and pstop pointers determine the size of the buffer ring. the curr pointer determines the location of the next packet to be received and the bnry pointer determines the location of the next packet to be removed. when packets are received, the curr pointer moves to the next location (in the direction of rotation) and the bnry follows the curr pointer. however, the pstart and pstop remains the same throughout the procedure. to receive packets, buffers are linked as necessary to accomodate the incoming packets. up to 256 buffers can be linked together in a single ring. each buffer is 256 bytes. that effectively yields a maximum of 64k bytes for the entire ring. therefore, the theoretical maximum space between pstart and pstop is 64k and all the pointers refer to 256 byte boundaries (see figure 7). buffer # 1 buffer # 2 buffer # 3 buffer # n buffer ram (up to 64 kb) page start address page stop receive buffer ring n 3 2 1 4 256 bytes direction of rotation address direction of rotation figure 7. receive buffer ring
via t echnologies , i nc .p reliminary VT86C926 18 the pointers pstart and pstop are determined during initialization. the first valid packet received is placed at the curr pointer plus a four byte offset (see figure 8). if the packet is greater than the 256 byte buffer, then the buffers are linked together until the packet is received in its entirety. because of the ring design of the buffer, the first and the last buffer may be linked together. when a packet is completely received, the status from the receive status register (rsr), a pointer to the next packet and the byte count of the current packet are written into the four byte offset. direction of rotation (after reception of 3 packe t begining curren t current page register 1 4 n-1 n-2 n packet status 2 3 page register status next page length (l) length (h) packet ends 4 byte offset for pack e direction of rotation begin receptio n & packet storag e 4 byte offset for pack e (after reception of first pack current page register (after reception of first pack e 1 2 3 n-2 n begining curren t page register 4 n-1 figure 8. receive packet buffering fi g ures 5, 6, 7 and 8 are flat illustrations of the receive buffer rin g . see fi g ure 4 for g raphical conceptualization. note: when an error occurs, be it fae or crc, it is automatically overwritten. the curr is not moved to next buffer boundary, hence the next incoming packet will overwrite the previous packet (see figure 9). the error-overwrite feature can be toggled on and off by setting the save errored packet (sep) bit in the rcr. runt packets are also overwritten. the runt packet overwrite may be toggled on and off by setting the ar bit in the tcr. direction of rotation runt packet, crc, fae 1 2 3 n-2 n begining current page register 4 n-1 figure 9. packet rejection
via t echnologies , i nc .p reliminary VT86C926 19 the bnry is updated each time a packet is removed. in that way, the bnry always follow the curr around the ring (see figure 10). however, in situations in which the packet processing is slower than the packet reception, the ring may be full. when the ring becomes full, all incoming packets are aborted so that packets already in the ring would not be overwritten (see figure 11). new packets will start to arrive after the bnry is updated. the missed packet tally counter would keep track of all missed packets. this situation is unlikely if enough memory is allocated for the receive buffer ring. if the bnry is located outside the buffering, the overwrite protection function will not be available. all incoming packets would overwrite packets already on the ring, whether the packets on the ring have been processed or not. direction of rotation boundary pointer current page register n (after the removal of packet) 1 2 3 boundary pointer 4 n-1 n-2 1st packet remote dma removes packet 2nd packet new packets arriving figure 10. removing packets from the receive buffer ring direction of rotation boundary pointer 1 2 3 4 n-1 n-2 1st packet remote dma removes packet 2nd packet new packets arriving 5 n reception aborted by nic overflow figure 11. receive buffer ring overwrite protection
via t echnologies , i nc .p reliminary VT86C926 20 12. e arly i nterrupt r eceive m ode the VT86C926, under normal mode, will generate an interrupt to the host after a complete packet is received and decide to accept it. this, however, will introduce a throughput latency at least longer than the transmission time of the received packet. to allow the host driver program look ahead the contents of the packet under receiving, the VT86C926 provides the early interrupt receive mode which is enabled by setting the eien bit of diagnostic register. during the early interrupt receive mode, several interrupts are generated based on the receiving conditions as depicted in the following paragraph. 1. packet header interrupt when an incoming packet matches the address (physical or not) of the network controller and the total received bytes count exceeds 64, the VT86C926 will generate an interrupt to notify the host an addressed packet in on the way. the driver can distinguish this early interrupt by reading isr and rsr. if the isr shows an prx status and rsr doesn't reflect that status on its prx bit, an early interrupt is being generated. 2. packet page interrupt every time the receiver buffer is completly filled and a new buffer is requested, the VT86C926 will generate an interrupt with prx of rsr unset as packet header interrupt. therefore, this kind of interrupt is issued every 256 byte time (~200us) until packet reception is done. the current byte count of packet being received can be accessed from register 01h (cldc0) and 02h (cldc1) of page 0. 3. receive status interrupt this is the normal interrupt generated after an addressed packet is completely received. if the received packet is a good packet, both the isr and rsr will set prx bit high. otherwise, the rxe or ovw will be reflected on isr and fae, xrxe, or mpa on rsr. buffer ram data bus buffer ram mac receiver tp mau pll & endec aui interface receive eien interrupt internal control signals rd+, rd- host address bus rx_interrupt address bus buffer ram bus control & interface buffer management state machine & register & data bus fifo internal internal rx+, rx- protocol state machine & registers td+, td- tx+, tx- ci+, ci- host data bus host control bus status status control signals data bus address bus figure 12: early interrupt receive block diagram control signals internal 12.1. early interrupt architecture programming algorithm
via t echnologies , i nc .p reliminary VT86C926 21 12.1.1. enable early interrupt mode to set the VT86C926 to early interrupt mode, set bit 3 (eien) of the diagnostic register to high. to set the VT86C926 back to normal mode, set bit 3 (eien) of the diagnostic register to low. you can set early interrupt mode in any state. but your receive interrupt service routine must able to receive fragments from ethernet data. if the routine cannot handle the fragment data, you may get corrupt data. 12.1.2. early interrupt receive routine refence register the receive interrupt service routine algorithm fetches one page data from the sram upon reception of an interrupt. refer to the following register and status bit for early interrupt service routine: interrupt status register (isr, 0x07(0) bit0 prx, bit 2 rxee) receive status register (rsr,0x0c(0) bit0 early prx) current local dma counter low and high (cldc(0), 0x01, 0x02) current page register (curr, 0x07(1)) but we suggest that you use this method as below, in order to reduce the interrupt occured times. please refer the cldc counter for currently received bytes. this algorithm sample enables the VT86C926's early interrupt drivers to increase the lan system peer to peer transfer rate. programmers can modify the orignal ne2000 driver sources to add this function. 1. when driver is initialized, set pktpointer = 0 and allocate pktbuffer = 1.5 kbyte. 2. when interrupt is received, check isr, curr and rsr. if rxe bit in isr has been set, reset pktpointer = 0. (it is a packet error interrupt, state 0) else if prx bit in isr has been set, compare curr with bnry+1, if curr == bnry+1, (it is a early interrupt condition) read and save cldc (current local data count) evenlize cldc. (cldc = cldc - cldc % 2) if prx bit in rsr has not been set, if rxe bit in isr has been set, goto packet error condition (state 0). if cldc <= pktpointer, goto packet error condition (state 0). rsar = ((bnry + 1) << 8) + pktpointer. if rsar >= pstop, set rsar = rsar - (pstop - pstart). rbcr = cldc - pktpointer. use remote dma to read packet data into offset pktbuffer + pktpointer. pktpointer = cldc. else goto packet complete condition (state 1). else (it is a packet complete interrupt, state 1) rsar = (bnry + 1) << 8. rbcr = 4. use remote dma to packet header into offset pktbuffer. if rxe bit in isr has been set, set pktpointer = 0. get pktlen = packet length from pktbuffer. pktlen = (pktlen + 1) - (pktlen + 1) % 2. if pktlen <= pktpointer, set pktpointer = 0.
via t echnologies , i nc .p reliminary VT86C926 22 rsar = ((bnry + 1) << 8) + pktpointer. rbcr = pktlen - pktpointer. use remote dma to read packet data into offset pktbuffer + pktpointer. pktpointer = 0. if pktpointer = 0, do the normal driver packet received procedure, but get packet data from pktbuffer, not the receive buffer ring. else go to interrupt entry to poll isr again. rx condition isr rsr curr cldc packet header or page data received 1 0 bnry+1 <>0 total packet received 1 1 bnry+1 + (packet pages) = 0 more then one packet 1 0 bnry+1 + (packet pages) <>0 crc or page align error 44x x 13. e arly t ransmit m ode in order to provide the VT86C926 with parallel processing between the isa bus and ethernet media, the VT86C926 must be set to detect early transmit error mode. this error may occur when the system's master device uses the isa bus and then uses the data bus. if the eten bit is set in the configuration register b, the transmit status status bit5 (etun) and the transmit error status bit (txe) in the interrupt service register (isr) bit 3 would be set on. if the interrupt mask register txee bit is set to on, an interrupt will be generated when the local dma pass the remote dma machine. this mode is essentially similar to the early interrupt receive mode. when the VT86C926 is under the normal mode, the cpu can issue the "transmit packet" command to the VT86C926 and the internal local dma will tranfer the data from the sram to the ethernet. however, the packet data must already exist in sram. in the situation in which the "transmit packet" command is issued to the local dma and the remote dma (to fill sram) at the same time, a corrupt packet may be transmitted to the network and remain undetected.
via t echnologies , i nc .p reliminary VT86C926 23 ram bus arbitrator & data bus fifo buffer ram remote dma state registers & machines local dma state registers & machines early transmit state machine host data bus address bus data bus address bus eten write_point remote_ dma_ status local_ dma_ status read_point early_tx_error stop_local_dma figure 13: early transmit error detect block diagram note: if write_pointread_point, then stop_local_dma.
via t echnologies , i nc .p reliminary VT86C926 24 p roject s ign o ff s heet f or VT86C926 p reliminary r elease n ame s ignature d ate e ditor alex tsao p roduct s pecifications jeffery chang p roject d esigner antonio weng f inal a pproval tzu-mu lin


▲Up To Search▲   

 
Price & Availability of VT86C926

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X